Benutzerkontensteuerung (UAC)

Jedes NT-Windows ist ein Mehrbenutzersystem. Das bedeutet nicht nur, dass die Benutzerdateien getrennt und gegenseitig abgesichert sind, sondern vor allem, dass unterschiedliche Rechte für zwei Kontentypen bestehen: die uneingeschränkten Administrator-Konten und die eingeschränkten Benutzerkonten. Im Gegensatz zum Administrator ist normalen Benutzern die Installation von Software und Treibern ebenso untersagt wie der Schreibzugriff auf Systemordner oder die Registrierungsdatenbank. Die eingeschränkten Rechte des normalen Benutzerkontos bieten zuverlässigen Schutz gegen Systemveränderungen: Wo der Benutzer nichts darf, kann er auch nichts kaputtmachen. Und weil ein eingeschränkter Windows-Explorer seine limitierten Rechte an alle durch ihn gestarteten Programme weitervererbt, kann auch ein Virus wenig ausrichten.

Konsequente PC-Arbeit mit eingeschränkten Konten hat sich aber unter Windows nie durchgesetzt. Schuld daran ist nicht Windows selbst, sondern die dort mangelnde Abwärtskompatibilität zu „alter“ Software und zu „alten“ Usern: Viele Benutzer wollen und kennen nur die vollen Zugriffsrechte. Hauptproblem sind aber nicht die Benutzer, sondern Tausende von alten Windows-Programmen, die einfach unlimitierte Administrator-Rechte voraussetzen. Die Windows-Explorer-Option „Ausführen als“ kann solche Kompatibilitätsprobleme nicht befriedigend kompensieren. Vor Jahren wurde daher mit Windows Vista die Benutzerkontensteuerung eingeführt.

Die seit Windows Vista eingeführte Benutzerkontensteuerung (User Account Control, UAC) ist Microsofts Reaktion auf die Tatsache, dass sich unter Windows die Arbeit im sicheren eingeschränkten User-Konto nie durchgesetzt hat. Viele Benutzer kamen vom alten DOS-basierten Windows und wollen und kennen nur die vollen Zugriffsrechte.

Die Benutzerkontensteuerung erfüllt zwei Aufgaben:

Sie soll Administrator-Konten sicherer und Benutzerkonten bequemer machen.

Trotzdem wird sie gerne mißverstanden als Nerv-Mechanismus für Admin-Konten: Denn bei (standardmäßig) aktivierter UAC besitzen auch Administratoren erst mal nur Benutzerrechte und müssen alle Aktionen, welche die Konfiguration des Systems ändern, explizit per Dialogbox bestätigen.
Das ist aber nur die eine Seite. Weitere Aufgabe der Benutzerkontensteuerung ist es, dem eingeschränkten Benutzer temporär Admin-Rechte einzuräumen (nach Kennwortabfrage) und damit die Systembenutzung im sicheren Benutzer-Kontext zu erleichtern. Eine aktive Benutzerkontensteuerung sorgt so auch bei Administrator-Konten für eingeschränkte Rechte. Das ist die nachhaltigste Sicherheitsmaßnahme, die ein Windows-Nutzer einsetzen kann. Wer die Abfragen der UAC liest und ernst nimmt, besitzt einen Basisschutz vor Viren und Schadprogrammen.

Die vier Stufen und zugehörigen Symbole des UAC-Dialogs

Die Benutzerkontensteuerung versucht überdies, eingeschränkte Rechte durch Virtualisierung zu kompensieren: Ein Programm, das nur eine Konfigurationsdatei unter %programfiles% schreiben will, muss dazu nicht mit Administrator-Rechten laufen. Stattdessen wird die Datei in den Profilordner „%userprofile%\AppData\Local\VirtualStore“ umgelenkt, Zugriffe auf die Registry landen unter „Hkey_Current_User\Software\Classes\VirtualStore“. Sobald das Programm mit eingeschränkten Rechten später im Programme-Ordner seine Daten sucht, reicht die Benutzerkontensteuerung die Daten aus dem „VirtualStore“ weiter. Diese Virtualisierung leistet unter der Haube eine stille Modernisierung von veralteter Software, die ohne Not auf Systemordner zugreifen oder nach „Hkey_Local_Machine“ schreiben wollen.

Die zwei Wege zur UAC-Abfrage („Möchten Sie zulassen…?“): Ein Programm wird explizit „Als Administrator“ gestartet oder das Programm-Manifest fordert Admin-Rechte.

Entschärfte Benutzerkontensteuerung seit Windows 7

Die lästigen Rückfragen der UAC unter Windows Vista waren kontraproduktiv – viele User waren davon so genervt, dass sie die UAC komplett deaktivierten. Unter Windows 7 und Windows 8 gibt es gegenüber dem simplen „Ein“ oder „Aus“ von Vista zwei weitere Zwischenstufen. Dies hat die Akzeptanz dieses Schutzmechanismus erheblich gefördert.
Zudem wurde die Events, die eine Kontenanhebung (User –> Admin) erfordern, seit Windows Vista generell überarbeitet und reduziert. Die UAC meldet auch auf der Höchststufe etwa 30 Prozent seltener. Hinzu kamen gegenüber Vista erweiterte Regeln in den Sicherheitsrichtlinien (Secpol.msc oder Gpedit.msc), um das UAC-Verhalten genauer steuern zu können („Lokale Richtlinien –> Sicherheitsoptionen“).

Tipp: UAC-Abfrage via Aufgabenplanung umgehen
Mit der Aufgabenplanung lässt sich die UAC-Abfrage für einzelne Programme gezielt umgehen. Ich erkläre die Prozedur am Beispiel des Registry-Editors.
1. Sie starten die Aufgabenplanung (Taskschd.msc).
2. Sie wählen „Aktion, Aufgabe erstellen“ („Action, Create Tasks“) und geben der zukünftigen Verknüpfung auf der Registerkarte „Allgemein“ („General“) unter „Name“ einen eindeutigen Namen, etwa „regedit“.
3. Sie aktivieren die Option „Mit höchsten Privilegien ausführen“ („Run with highest privileges“).
4. Sie wechseln auf die Registerkarte „Aktionen“ („Actions“) und klicken auf „Neu“ („New“).
5. Wählen Sie dann als Aktion „Programm starten“ („Start a progam“), und tragen Sie in das Feld „Programm/Skript“ den Registry-Editor inklusive seines kompletten Pfades ein – meist „c:\windows\regedit.exe“.
6. Auf der Registerkarte „Bedingungen“ („Conditions“) deaktivieren Sie die Option „Aufgabe nur starten, falls Computer im Netz betrieben wird“ („Start the task only if…“).
7. Zum Test können Sie über die „Aufgabenplanungsbibliothek“ („Task Scheduler Library“) den soeben erstellten Task „regedit“ mit „Ausführen“ („Run“) aufrufen: Startet der Registry-Editor ohne Rückfrage, ist die Konfiguration gelungen, und Sie können die Verknüpfung erstellen.
8. Erstellen Sie an beliebiger gewünschter Stelle eine neue Verknüpfung mit dem Ziel:

schtasks.exe /run /tn „regedit“

Der Name (hier „regedit“) muss genau dem entsprechen, was Sie vorher (2.) im Taskplaner definiert haben.

Tipp: Benutzerkontensteuerung mit dem Application Compatibility Toolkit umgehen
Mit einem speziellen Microsoft-Tool können Programme der UAC-Kontrolle entzogen werden. Damit entfällt der Warndialog (beim Administrator) bzw. die Passworteingabe (beim User). Der Ausschluss erfolgt über eine spezielle „Application Fix“-Datenbank. Um sie anzulegen, brauchen Sie ein Konto mit Administrator-Rechten und müssen sich das englischsprachige Application Compatibility Toolkit von Microsoft herunterladen und installieren.

Application Compatibility Toolkit

Das Application Compatibility Toolkit – Schritt für Schritt:
1. Sie öffnen „Start, Alle Programme, Microsoft Application Compatibility Toolkit“,
klicken mit rechter Maustaste auf „Compatibility Administrator“, und gehen
auf „Als Administrator ausführen“.
2. Nachdem Sie den UAC-Warndialog bestätigt haben und das Toolkit gestartet wurde, klicken Sie mit der rechten Maustaste auf den Eintrag „New Database(1) [Untitled_1]“ und wählen „Create New, Application Fix“.
3. Im Fenster „Program Information“ tragen Sie unter „Name of the program to be fixed“ den Namen der ersten Anwendung ein, die erlaubt werden soll.
4. Sie klicken auf „Browse“ und wählen die entsprechende ausführbare Datei dazu aus.
5. Klicken Sie nun auf „Weiter“ und aktivieren die Option „None“.